The present invention relates to a system that builds and executes a process flow for events.
An abnormality monitoring system that detects occurrence of an abnormality in a target system analyzes data published from a number of sensors installed in the site of the target system according to predetermined analysis logics to discover an abnormality, estimate the cause of the abnormality, and assess the risk of the abnormality. In an abnormality monitoring system of this type, desired conditions can be set for abnormality monitoring by applying a plurality of analysis logics in stages. An example of a process flow executed in stages will be described.
For example, an edge node configured by a small machine installed in the site of a wind power generation system calculates 10 minutes of statistics from the amount of vibration measured by sensors installed in windmills and sends the calculated statistics to a datacenter every 10 minutes as 10-minute statistical information. The datacenter analyzes the 10-minute statistical information, and upon detecting an abnormality in a certain windmill, analyzes a vibration measured by a sensor installed in another position of the windmill in the same time and the picture of the windmill and the surroundings thereof captured by a camera to estimate the cause of the abnormality. Moreover, when a certain abnormality is detected from the 10-minute statistical information, the datacenter executes a number of vibration simulations on a windmill tower to assess the risk of damage to the tower and blades.
A software engine that builds and executes such a series of process flows is known. A software engine of this type which employs an event-driven architecture that defines a process flow using nodes and an event flow is known. In the event-driven architecture, since an upstream node of the event flow can operate regardless of a configuration and a process of a downstream node, it is easy to build the process flow.
However, in an event-driven architecture, an upstream node executes a predetermined process and outputs processing result data regardless of whether the process is used by a downstream node. Due to this, a useless process of allowing an upstream node to generate and send data which is not actually used by a downstream node is performed. For example, although a time in which an abnormality is detected is extremely shorter than a time in which an abnormality is not detected, if a process for estimating the cause of an abnormality is executed continuously in a time in which an abnormality is not detected, the process is a useless process.
In contrast, Japanese Patent Application Publication No. 2007-249978 discloses a technique of reducing a waste of processing. In a parallel simulation, when processing is settled because a response is already discovered halfway parallel processing, subsequent redundant tasks are cancelled and processing is reduced.